import multiprocessing
import time
import os

def func():
    print(multiprocessing.current_process().name + '-' + str(os.getpid()))

def display(s:str):
    print("------call back %s-----" % s)

# 进程池在windows下不能正常使用
if __name__ == '__main__':
    # multiprocessing.freeze_support()
    pool = multiprocessing.Pool(processes=4)  # 创建4个进程
    print("-----start------")
    for i in range(10):
        msg = "hello " + str(i)
        pool.apply_async(func(),args=())

    pool.close()  # 关闭进程池，表示不能在往进程池中添加进程
    pool.join()  # 等待进程池中的所有进程执行完毕，必须在close()之后调用
    print("Sub-process(es) done.")

